# RESTful API 包初始化文件
from flask import Blueprint
from flask_restx import Api

# 创建 API v1 蓝图
api_v1_bp = Blueprint('api_v1', __name__, url_prefix='/api/v1')

# 创建 API v1 实例
api_v1 = Api(
    api_v1_bp,
    version='1.0',
    title='Flask RESTful API',
    description='一个使用 Flask-RESTX 构建的 RESTful API 示例',
    doc='/docs/',
    prefix='/api/v1'
)

# 创建命名空间
user_ns = api_v1.namespace('users', description='用户管理操作')
auth_ns = api_v1.namespace('auth', description='认证相关操作')

# 导入所有控制器
from .controllers.user_controller import api as user_api
from .controllers.auth_controller import api as auth_api

# 注册命名空间
api_v1.add_namespace(user_api)
api_v1.add_namespace(auth_api)

# 导出蓝图和API实例
__all__ = ['api_v1_bp', 'api_v1', 'user_ns', 'auth_ns']